package IO流_转换流.引出问题_不同编码读取是会乱码;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Reader;

public class Test {
    public static void main(String[] args) {
        // 如果代码编码和被读取的文本文件的编码一致的, 使用字符流读取文本文件时不会出现乱码!
        // 如果代码编码和被读取的文本文件的编码是不一致的, 使用字符流读取文本文件是就会出现乱码!

//        try (
//                // 1. 创建一个文件字符输入流与源文件接通
//                Reader fr = new FileReader("Senior\\src\\IO流_转换流\\引出问题_不同编码读取是会乱码\\pat");
//                // 2. 包装为缓冲字符输入流
//                BufferedReader dr = new BufferedReader(fr);
//        ){
//            // 按行方式读取
//            String line;
//            while ((line = dr.readLine()) != null) {
//                System.out.println(line);
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//        } // 这里不会乱码: 因为这是文本和代码的编码一致

        try (
                // 1. 创建一个文件字符输入流与源文件接通
                Reader fr = new FileReader("Senior\\src\\IO流_转换流\\引出问题_不同编码读取是会乱码\\gbk");
                // 2. 包装为缓冲字符输入流
                BufferedReader dr = new BufferedReader(fr);
        ){
            // 按行方式读取
            String line;
            while ((line = dr.readLine()) != null) {
                System.out.println(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } // 这里中文会乱码: 因为这是文本和代码的编码不一致
    }
}
